import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main
{
	public static void main(String[] args)
	{
		int questao = -1;

		try
		{
			System.out.println("Qual questao desejada?");
			System.out.println("Digite 1 para questao 3.1 item 1");
			System.out.println("Digite 2 para questao 3.1 item 2 letra a");
			System.out.println("Digite 3 para questao 3.1 item 2 lebra b");
			System.out.println("Digite 4 para questao 3.1 item 2 letra c");
			System.out.println("Digite 5 para questao 3.1 item 3");
			System.out.println("Digite 6 para questao 3.2 Random peer/Random useful piece item 1");
			System.out.println("Digite 7 para questao 3.2 Random peer/Rarest First piece item 1");
			System.out.println("Digite 8 para questao 3.3 item 1"); // 10 blocos
			System.out.println("Digite 9 para questao 3.4");

			InputStreamReader isr = new InputStreamReader(System.in);
			BufferedReader br = new BufferedReader(isr);
			String sampleString = br.readLine();
			questao = Integer.parseInt(sampleString);
		}
		catch (IOException e)
		{
			e.printStackTrace();
			System.exit(-1);
		}

		switch (questao)
		{
		case 1:
			new Sistema01().start();
			break;
		case 2:
			new Sistema02().start();
			break;
		case 3:
			new Sistema03().start();
			break;
		case 4:
			new Sistema04().start();
			break;
		case 5:
			Sistema05 sistemaTemp5 = new Sistema05();
			sistemaTemp5.N0 = 1;
			sistemaTemp5.start();
			break;
		case 6:
			Sistema06 sistemaTemp6 = new Sistema06();
			sistemaTemp6.N0 = 1;
			sistemaTemp6.start();
			break;
		case 7:
			Sistema07 sistemaTemp7 = new Sistema07();
			sistemaTemp7.N0 = 1;
			sistemaTemp7.start();
			break;
		case 8:
			Sistema08 sistemaTemp8 = new Sistema08();
			sistemaTemp8.N0 = 1;
			sistemaTemp8.start();
			break;
		case 9:
			for (int i = 0; i < 10; i++)
			{
				Sistema09 sistemaTemp9 = new Sistema09();
				sistemaTemp9.N0 = 50;
				sistemaTemp9.start(0);

				Sistema09 sistemaTemp92 = new Sistema09();
				sistemaTemp92.N0 = 50;
				sistemaTemp92.start(1);
			}

			break;
		}
	}
}
